# coding：utf-8
from time import sleep

from selenium import webdriver
from selenium.webdriver import ActionChains


# 打开浏览器
driver = webdriver.Chrome()
# 最大化
driver.maximize_window()

#隐性等待
driver.implicitly_wait(10)

# 打开网址
driver.get("http://localhost/index.php")

# 打开登录页面
driver.get("http://localhost/index.php/Home/user/login.html")

# 输入文字为了登陆成功
driver.find_element_by_xpath('//*[@id="username"]').send_keys('13800138006')
driver.find_element_by_xpath('//*[@id="password"]').send_keys('123456')
driver.find_element_by_xpath('//*[@id="verify_code"]').send_keys('8888')
driver.find_element_by_xpath('//*[@id="loginform"]/div/div[6]/a').click()

# 校验用户是否正确
# name = driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div[2]/div[1]/div[2]/a[1]')
name = driver.find_element_by_class_name('mu-m-phone').text
if name == 'hello':
    print('登录成功')
else:
    print('账号不匹配，请查看：%s' % name)

# 上传头像开始
driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div[1]/div/ul[4]/li[2]/a').click()
driver.find_element_by_id('preview').click()

# 进入frame框架[不熟]
driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="layui-layer-iframe1"]'))
driver.find_element_by_xpath('//*[@id="filePicker"]/div[2]/input').send_keys('C:\\Users\\S3214\\Downloads\\boy.jpg')

# 法1：直接定位“确认”按钮【图片未上传成功】
# driver.find_element_by_xpath('//*[@id="uploader"]/div[1]/div[3]/div[3]').click()
# 法2：【鼠标操作】双击该“确认”按钮【成功】
double = driver.find_element_by_xpath("//*[@id='uploader']/div[1]/div[3]/div[3]")
sleep(7)  #注意设置等待时间！
ActionChains(driver).double_click(double).perform()
driver.switch_to.default_content()

# 确认保存
driver.find_element_by_xpath('/html/body/div[3]/div/div[2]/div[2]/div/div[2]/form/ul[5]/li[2]/div[3]/input').click()
# 上传头像结束

# 加入购物车开始

driver.get("http://localhost/index.php/Home/User/info.html")
driver.find_element_by_xpath("//*[@id='q']").send_keys("手机")
driver.find_element_by_xpath("//*[@id='sourch_form']/a").click()
driver.find_element_by_xpath("/html/body/div[4]/div/div[2]/div[2]/ul/li[2]/div/div[5]/div[2]/a").click()
driver.find_element_by_xpath("//*[@id='join_cart']").click()

sleep(3)
#出错：“去购物车结算”按钮无法直接定位--->鼠标双击看看？不行-->frame跳转页面
#直接定位:失败
# driver.find_element_by_xpath("//*[@id='addCartBox']/div[1]/div/div/a[2]").click()
# frame跳转页面  报错：TypeError: frame() missing 1 required positional argument: 'frame_reference'

# frame跳转页面[成功]
driver.switch_to.frame(driver.find_element_by_xpath('//*[@id="layui-layer-iframe1"]'))  #找到iframe框架
driver.find_element_by_xpath("//*[@id='addCartBox']/div[1]/div/div/a[2]").click()  #定位文字
driver.switch_to.default_content()

# 提交订单
driver.find_element_by_xpath("//*[@id='ng-app']/body/div[2]/div[1]/div[2]/div/div/div/div/div[3]/a[2]").click()
sleep(3)
driver.find_element_by_xpath("//*[@id='cart2_form']/div/div[2]/div[2]/div/a/span").click()

# 加入购物车结束
